home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / AppleEvents.idl < prev    next >
Text File  |  1996-05-01  |  7KB  |  238 lines

  1. /*
  2.      File:        AppleEvents.idl
  3.  
  4.      Contains:    AppleEvent Package Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __APPLEEVENTS_IDL__
  19. #define __APPLEEVENTS_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  28. #if !FOR_PTR_BASED_AE
  29. #ifndef __MEMORY_IDL__
  30. #include <Memory.idl>
  31. #endif
  32. #ifndef __MIXEDMODE_IDL__
  33. #include <MixedMode.idl>
  34. #endif
  35. #ifndef __NOTIFICATION_IDL__
  36. #include <Notification.idl>
  37. #endif
  38. #ifndef __EVENTS_IDL__
  39. #include <Events.idl>
  40. #endif
  41. #endif
  42. #endif
  43. #if FOR_SYSTEM8_PREEMPTIVE
  44. #ifndef __KERNEL_IDL__
  45. #include <Kernel.idl>
  46. #endif
  47. #endif
  48. #ifndef __AEDATAMODEL_IDL__
  49. #include <AEDataModel.idl>
  50. #endif
  51.  
  52. #ifdef __SOMIDL__
  53.  
  54. /* Event Class */
  55. /* Event ID's */
  56. /* Constants for recording */
  57. #if FOR_SYSTEM8_PREEMPTIVE
  58. #if FOR_PTR_BASED_AE
  59. typedef OpaquePtr                AEDispatcherID;
  60.  
  61. typedef OpaquePtr                AEDispatcherRef;
  62.  
  63. typedef OpaquePtr                AEHandlerTableRef;
  64.  
  65. typedef OpaquePtr                AEDelayedSendRef;
  66.  
  67. /* this will be removed by D11E3 or earlier (!!!)*/
  68. typedef AEHandlerTableRef        AEHandlerTable;
  69.  
  70. typedef OptionBits                AEReceiveMode;
  71.  
  72. #endif
  73. #endif
  74. /* parameter to AESend */
  75. typedef OptionBits                AESendOptions;
  76.  
  77. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  78. #if !FOR_PTR_BASED_AE
  79. typedef SInt32                    AESendMode;
  80.  
  81. #endif
  82. #endif
  83. /* Constants for timeout durations */
  84. /* priority param of AESend */
  85. typedef SInt16                    AESendPriority;
  86.  
  87. typedef SInt8                    AEEventSource;
  88.  
  89. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  90. #if !FOR_PTR_BASED_AE
  91. typedef OpaquePtr AEEventHandlerProcPtr;
  92. typedef OpaquePtr AEEventHandlerUPP;
  93. typedef OpaquePtr AEIdleProcPtr;
  94. typedef OpaquePtr AEIdleUPP;
  95. typedef OpaquePtr AEFilterProcPtr;
  96. typedef OpaquePtr AEFilterUPP;
  97. #endif
  98. #endif
  99. #if FOR_SYSTEM8_PREEMPTIVE
  100. #if FOR_PTR_BASED_AE
  101. typedef OpaquePtr AEEventHandlerProc;
  102. #endif
  103. #endif
  104. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  105. #if !FOR_PTR_BASED_AE
  106. /*
  107. *************************************************************************
  108.   The next couple of calls are basic routines used to create, send,
  109.   and process AppleEvents. 
  110. *************************************************************************
  111. */
  112. #endif
  113. #endif
  114. #if FOR_SYSTEM8_PREEMPTIVE
  115. #if FOR_PTR_BASED_AE
  116. /*
  117. *************************************************************************
  118.   The next set of calls are basic routines used to send and process AppleEvents. 
  119. *************************************************************************
  120. */
  121. /*
  122.  the reply param MUST be created by the caller if a reply is requested
  123.  otherwise, the caller must specify nil, or a NULL AppleEvent, if no reply is requested
  124. */
  125. /*
  126.  the reply param MUST be created by the caller if a reply is requested
  127.  otherwise, the caller must specify nil, or a NULL AppleEvent, if no reply is requested
  128. */
  129. /*
  130. *************************************************************************
  131.   The next couple of calls are for causing kernel asynchronous completion 
  132.   notifications to send an AppleEvent when they fire. 
  133. *************************************************************************
  134. */
  135. #endif
  136. #endif
  137. /*
  138.  Note: during event processing, an event handler may realize that it is likely
  139.  to exceed the client's timeout limit. Passing the reply to this
  140.  routine causes a wait event to be generated that asks the client
  141.  for more time. 
  142. */
  143. #if FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
  144. #endif
  145. /*
  146. *************************************************************************
  147.   The following three calls are used to allow applications to behave
  148.   courteously when a user interaction such as a dialog box is needed. 
  149. *************************************************************************
  150. */
  151. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  152. typedef SInt8                    AEInteractAllowed;
  153.  
  154. #endif
  155. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  156. #if !FOR_PTR_BASED_AE
  157. #endif
  158. #endif
  159. #if FOR_SYSTEM8_PREEMPTIVE
  160. #if FOR_PTR_BASED_AE
  161. /*
  162. *************************************************************************
  163.   These calls are used to create and dispose Apple event handler tables,
  164.   as well as to install, get and remove handlers from them.
  165. *************************************************************************
  166. */
  167. /*
  168. *************************************************************************
  169.   These calls are used to setup and get events from Apple event dispatchers.
  170. *************************************************************************
  171. */
  172. #endif
  173. #endif
  174. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  175. #if !FOR_PTR_BASED_AE
  176. /*
  177. *************************************************************************
  178.   These calls are used to set up and modify the event dispatch table.
  179. *************************************************************************
  180. */
  181. /*
  182. *************************************************************************
  183.  The following four calls are available for applications which need more
  184.  sophisticated control over when and how events are processed. Applications
  185.  which implement multi-session servers or which implement their own
  186.  internal event queueing will probably be the major clients of these
  187.  routines. They can be called from within a handler to prevent the AEM from
  188.  disposing of the AppleEvent when the handler returns. They can be used to
  189.  asynchronously process the event (as MacApp does).
  190. *************************************************************************
  191. */
  192. /*
  193.  Note: The following routine tells the AppleEvent manager that processing
  194.  is either about to resume or has been completed on a previously suspended
  195.  event. The procPtr passed in as the dispatcher parameter will be called to
  196.  attempt to redispatch the event. Several constants for the dispatcher
  197.  parameter allow special behavior. They are:
  198.       - kAEUseStandardDispatch means redispatch as if the event was just
  199.       received, using the standard AppleEvent dispatch mechanism.
  200.       - kAENoDispatch means ignore the parameter.
  201.          Use this in the case where the event has been handled and no
  202.       redispatch is needed.
  203.       - non nil means call the routine which the dispatcher points to.
  204. */
  205. /* Constants for Refcon in AEResumeTheCurrentEvent with kAEUseStandardDispatch */
  206. /* Constants for AEResumeTheCurrentEvent */
  207. #endif
  208. #endif
  209. /*
  210. *************************************************************************
  211.   These calls are used to set up and modify special hooks into the
  212.   AppleEvent manager.
  213. *************************************************************************
  214. */
  215. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  216. #if !FOR_PTR_BASED_AE
  217. #endif
  218. #endif
  219. #if FOR_SYSTEM8_PREEMPTIVE
  220. #if FOR_PTR_BASED_AE
  221. #endif
  222. #endif
  223. /*
  224. *************************************************************************
  225.   This call was added in version 1.0.1. If called with the keyword
  226.   keyAERecorderCount ('recr'), the number of recorders that are
  227.   currently active is returned in 'result'
  228.   (available only in vers 1.0.1 and greater).
  229. *************************************************************************
  230. */
  231. #if FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
  232. #endif
  233.  
  234. #endif /* __SOMIDL__ */
  235.  
  236. #endif /* __APPLEEVENTS_IDL__ */
  237.  
  238.